package com.enumdemo.enummethod;

import java.text.DateFormat;
import java.util.Date;

/**
 * 常量相关方法：enum有一个很有趣的特性，即允许程序员为enum实例编写方法，从而为每个enum实例赋予各自不同的行为。
 * 
 * @author Administrator
 *
 */
public enum ConstantSpeMethod {

	DATE_TIME {
		String getInfo() {
			return DateFormat.getDateInstance().format(new Date());
		}
	},
	CLASSPATH {
		String getInfo() {
			return System.getenv("CLASSPATH");
		}
	},
	VERSION {
		String getInfo() {
			return System.getProperty("java.version");
		}
	};

	abstract String getInfo();

	public static void main(String[] args) {
		for (ConstantSpeMethod csm : values()) {
			// 通过enum实例，调用其上的方法，称为表驱动的代码
			System.out.println(csm.getInfo());
		}
	}

}
